import { Company } from '../../model/company-model.js';
import { User } from '../../model/user-model.js';
import { Token } from '../../utils/token.js';

var user = new User();
var company = new Company();
var token = new Token();

Component({
  properties: {
    currentPage: {
      type: String,
      value: ''
    },
    currentRoute: {
      type: String,
      value: ''
    }
  },
  data:{
	  lctoken:'0',
  },
  lifetimes:{
	created(){
      // console.log(currentRoute,22222222222);
		const ctoken = wx.getStorageSync('ctoken');
		if(ctoken){
			this.setData({
				lctoken:'1',
			});
		}
	}
  },
  // mounted(){
	 //  console.log(213123123);
  // },
  methods: {
    toIndex() {
		const ctoken = wx.getStorageSync('ctoken');
		if(ctoken){
			wx.redirectTo({ url: '/pages/companynote/index' })
		}else{
			wx.redirectTo({ url: '/pages/index/index' })
		}

    },
    toFindjob() {
		const ctoken = wx.getStorageSync('ctoken');
		if(ctoken){
			wx.redirectTo({ url: '/pages/companyjob/index' })
		}else{
			wx.redirectTo({ url: '/pages/findjob/index' })
		}

    },
    toMyinvate() {
      wx.redirectTo({ url: "/pages/switchrole/index" })
    },

    // 系统消息跳转（改造后）
    toSysmsg() {
      console.log('[toSysmsg] 开始执行 token 验证');

      // 1. 先验证用户 token（isbind）
      token.verify(
        user.checkBind((data) => {
          console.log('[toSysmsg token.verify 回调] 返回数据:', data);

          if (data.isbind) {
            console.log('[toSysmsg] 用户已绑定，允许跳转系统消息页');
            wx.redirectTo({
              url: '/pages/sysmsg/index',
              success: () => console.log('[跳转成功] 系统消息页'),
              fail: (err) => console.error('[跳转失败] 系统消息页:', err)
            });
          } else {
            // 用户未绑定，再检查 ctoken
            const ctoken = wx.getStorageSync('ctoken');
            console.log('[toSysmsg] 用户未绑定，检查 ctoken:', ctoken);

            if (ctoken) {
              console.log('[toSysmsg] 存在 ctoken，尝试验证企业登录状态');
              company.checkLogin((res) => {
                console.log('[toSysmsg company.checkLogin 回调] 返回数据:', res);

                if (res.error == 0) {
                  console.log('[toSysmsg] 企业验证成功，允许跳转系统消息页');
                  wx.redirectTo({
                    url: '/pages/sysmsg/index',
                    success: () => console.log('[跳转成功] 系统消息页'),
                    fail: (err) => console.error('[跳转失败] 系统消息页:', err)
                  });
                } else {
                  console.warn('[toSysmsg] 企业验证失败，移除 ctoken');
                  wx.removeStorageSync('ctoken');
                  console.log('[toSysmsg] 跳转注册页');
                  wx.navigateTo({
                    url: "/pages/register/index",
                    success: () => console.log('[跳转成功] 注册页'),
                    fail: (err) => console.error('[跳转失败] 注册页:', err)
                  });
                }
              }, { ctoken });
            } else {
              console.log('[toSysmsg] 无用户绑定且无 ctoken，跳转注册页');
              wx.navigateTo({
                url: "/pages/register/index",
                success: () => console.log('[跳转成功] 注册页'),
                fail: (err) => console.error('[跳转失败] 注册页:', err)
              });
            }
          }
        }, {})
      );
    },

    // 保持原来的用户中心逻辑
    toMyuser() {
      console.log('[toMyuser] 开始执行用户登录状态检查');

      token.verify(
        user.checkBind((data) => {
          console.log('[token.verify 回调] 返回数据:', data);

          if (data.isbind) { // 已绑定
            console.log('[状态] 用户已绑定');
            const ctoken = wx.getStorageSync('ctoken');
            console.log('[存储] 获取 ctoken:', ctoken);

            if (ctoken) {
              console.log('[验证] 开始验证企业登录状态');
              company.checkLogin((res) => {
                console.log('[company.checkLogin 回调] 返回数据:', res);

                if (res.error == 0) {
                  console.log('[跳转] 企业验证成功，跳转企业中心');
                  wx.redirectTo({
                    url: "/pages/companycenter/index",
                    success: () => console.log('[跳转成功] 企业中心'),
                    fail: (err) => console.error('[跳转失败] 企业中心:', err)
                  });
                } else {
                  console.warn('[警告] 企业登录验证失败，错误码:', res.error);
                  wx.removeStorageSync('ctoken');
                  wx.redirectTo({
                    url: "/pages/user/index",
                    success: () => console.log('[跳转成功] 个人中心'),
                    fail: (err) => console.error('[跳转失败] 个人中心:', err)
                  });
                }
              }, { ctoken });
            } else {
              console.log('[跳转] 无 ctoken，跳转个人中心');
              wx.redirectTo({
                url: "/pages/user/index",
                success: () => console.log('[跳转成功] 个人中心'),
                fail: (err) => console.error('[跳转失败] 个人中心:', err)
              });
            }
          } else { // 未绑定
            console.log('[状态] 用户未绑定，跳转注册页');
            wx.navigateTo({
              url: "/pages/register/index",
              success: () => console.log('[跳转成功] 注册页'),
              fail: (err) => console.error('[跳转失败] 注册页:', err)
            });
          }
        }, {})
      );

      console.log('[toMyuser] 异步流程已启动');
    }
  }
});
